home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / src / binutils.252 / gas / config / tc-m68k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-23  |  3.5 KB  |  116 lines

  1. /* This file is tc-m68k.h
  2.  
  3.    Copyright (C) 1987-1992 Free Software Foundation, Inc.
  4.  
  5.    This file is part of GAS, the GNU Assembler.
  6.  
  7.    GAS is free software; you can redistribute it and/or modify
  8.    it under the terms of the GNU General Public License as published by
  9.    the Free Software Foundation; either version 2, or (at your option)
  10.    any later version.
  11.  
  12.    GAS is distributed in the hope that it will be useful,
  13.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.    GNU General Public License for more details.
  16.  
  17.    You should have received a copy of the GNU General Public License
  18.    along with GAS; see the file COPYING.  If not, write to
  19.    the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #define TC_M68K 1
  22.  
  23. #ifdef OBJ_AOUT
  24. #ifdef TE_SUN3
  25. #define TARGET_FORMAT "a.out-sunos-big"
  26. #else
  27. #define TARGET_FORMAT "a.out-zero-big"
  28. #endif
  29. #endif
  30.  
  31. #ifdef TE_APOLLO
  32. #define COFF_MAGIC        APOLLOM68KMAGIC
  33. #define COFF_AOUTHDR_MAGIC    APOLLO_COFF_VERSION_NUMBER
  34. #undef OBJ_COFF_OMIT_OPTIONAL_HEADER
  35. #endif
  36.  
  37. #ifdef TE_LYNX
  38. #define TARGET_FORMAT        "coff-m68k-lynx"
  39. #endif
  40.  
  41. #ifndef COFF_MAGIC
  42. #define COFF_MAGIC MC68MAGIC
  43. #endif
  44. #define BFD_ARCH bfd_arch_m68k
  45. #define COFF_FLAGS F_AR32W
  46. #define TC_COUNT_RELOC(x) ((x)->fx_addsy||(x)->fx_subsy)
  47.  
  48. #define TC_COFF_FIX2RTYPE(fixP) tc_coff_fix2rtype(fixP)
  49. #define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep(frag)
  50. extern int tc_coff_sizemachdep PARAMS ((struct frag *));
  51. #ifdef TE_SUN3
  52. /* This variable contains the value to write out at the beginning of
  53.    the a.out file.  The 2<<16 means that this is a 68020 file instead
  54.    of an old-style 68000 file */
  55.  
  56. #define DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE (2<<16|OMAGIC);    /* Magic byte for file header */
  57. #endif /* TE_SUN3 */
  58.  
  59. #ifndef AOUT_MACHTYPE
  60. #define AOUT_MACHTYPE m68k_aout_machtype
  61. extern int m68k_aout_machtype;
  62. #endif
  63.  
  64. #define tc_crawl_symbol_chain(a)    {;}    /* not used */
  65. #define tc_headers_hook(a)        {;}    /* not used */
  66. #define tc_aout_pre_write_hook(x)    {;}    /* not used */
  67.  
  68. #define LISTING_WORD_SIZE 2    /* A word is 2 bytes */
  69. #define LISTING_LHS_WIDTH 2    /* One word on the first line */
  70. #define LISTING_LHS_WIDTH_SECOND 2    /* One word on the second line */
  71. #define LISTING_LHS_CONT_LINES 4/* And 4 lines max */
  72. #define LISTING_HEADER "68K GAS "
  73.  
  74. /* Copied from write.c */
  75. #define M68K_AIM_KLUDGE(aim, this_state,this_type) \
  76.     if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
  77.                     aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
  78.                     }
  79.  
  80. #ifndef REGISTER_PREFIX
  81. #define REGISTER_PREFIX '%'
  82. #endif
  83.  
  84. #if !defined (REGISTER_PREFIX_OPTIONAL)
  85. #ifdef M68KCOFF
  86. #define LOCAL_LABEL(name) (name[0] == '.' \
  87.                && (name[1] == 'L' || name[1] == '.'))
  88. #define FAKE_LABEL_NAME ".L0\001"
  89. #define REGISTER_PREFIX_OPTIONAL 0
  90. #else
  91. #define REGISTER_PREFIX_OPTIONAL 1
  92. #endif
  93. #endif /* not def REGISTER_PREFIX and not def OPTIONAL_REGISTER_PREFIX */
  94.  
  95. #ifdef TE_DELTA
  96. /* On the Delta, `%' can occur within a label name.  I'm assuming it
  97.    can't be used as the initial character.  If that's not true, more
  98.    work will be needed to fix this up.  */
  99. #define LEX_PCT 1
  100. #endif
  101.  
  102. #ifdef BFD_ASSEMBLER
  103. #define tc_frob_symbol(sym,punt) \
  104.     if (S_GET_SEGMENT (sym) == reg_section) punt = 1
  105. #endif
  106.  
  107. #define DIFF_EXPR_OK
  108.  
  109. extern void m68k_init_after_args PARAMS ((void));
  110. #define tc_init_after_args m68k_init_after_args
  111.  
  112. extern int m68k_parse_long_option PARAMS ((char *));
  113. #define md_parse_long_option m68k_parse_long_option
  114.  
  115. /* end of tc-m68k.h */
  116.